<?php

namespace teia\webdev\php\core;

interface ITabDataSource {
	/*
	* Data
	*/
	
	/**
	 * Return the total number of tabs to display
	 * @return number number of tabs in the page
	 */
	public function get_num_tabs();
	
	/**
	 * Return the name of the tabs to display
	 * @return array string array with name of the tabs
	 */
	public function get_tabs_name();
	
	/**
	 * Return the number of items to display in the specified tab
	 * @param string $tab name of the target tab
	 * @return number the number of items to display in the target tab
	 */
	public function get_tab_size($tab);
	
	
	/**
	 * Return the content of the specified item to display
	 * @param number $it_num index of the item in the tab
	 * @param string $tab name of target tab
	 * @return string content of the item to display
	 */
	public function get_item_content($it_num, $tab);
	
	/**
	 * Return the content of the specified page number to display
	 * @param string $tab name of the target tab
	 * @return string text content to display
	 */
	public function get_tab_content($tab);
}

?>